﻿using System;

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Maestro_Proveedores;

namespace Maestro_Proveedores.Forms
{
    public partial class verificarConexion : Form
    {
        /// <summary>
        /// Este formulario auxiliar tiene la responsabilidad de verficar las conexiones tanto con la base de datos del maestro de proveedores (CORPORATIVA), como con la Base de datos de INFOR XA.
        /// </summary>
        public verificarConexion()
        {
            InitializeComponent();
        }

        private void verificarConexion_Load(object sender, EventArgs e)
        {
                     
        }

        private void verificarConexion_Shown(object sender, EventArgs e)
        {
            this.progressBar1.Maximum = 3;
            this.progressBar1.Step = 1;
            try
            {
                this.progressBar1.PerformStep(); 
                //-- Si el usuario que inicio session tiene el prefil PROVEEDORES-CONSULTA, PROVEEDORES-ADQUISICION o PROVEEDORES_CONTRATOS, no tengo que comprobar la conexion con INFOR
                if (!Session.Seg_USUARRow.CODGRU.Equals("14") && !Session.Seg_USUARRow.CODGRU.Equals("20") && !Session.Seg_USUARRow.CODGRU.Equals("24"))
                {
                    MAPICS.MAPICSDataSet mAPICSdATAsET = new MAPICS.MAPICSDataSet();
                    MAPICS.MAPICSDataSetTableAdapters.PROVEEDORESTableAdapter pROVEEDOREStABLEaDAPTER = new MAPICS.MAPICSDataSetTableAdapters.PROVEEDORESTableAdapter();
                    pROVEEDOREStABLEaDAPTER.FillByNIT(mAPICSdATAsET.PROVEEDORES, "0");
                }
                this.progressBar1.PerformStep();
            }
            catch (Exception ex)
            {
                MessageBox.Show("No fue posible conectarse a INFOR XA, Verifique la conexion e intentelo de nuevo.");
                 MessageBox.Show(ex.Message);
                Maestro_Proveedores.herramientas.Redirect.closeAllForms();                
            }
            try
            {
                this.pRV_tipo_servicioTableAdapter.Fill(this.cORPORATIVADataSet.PRV_tipo_servicio);
                this.progressBar1.PerformStep();
            }
            catch (Exception ex)
            {
                Maestro_Proveedores.herramientas.MessageException.show(ex);
                Maestro_Proveedores.herramientas.Redirect.closeAllForms();
            }
            this.progressBar1.Value=0;            
            this.Close();
        }
    }
}
